package org.com.tools.backup;

public class OracleBackup {

	private String userName;
	private String password;
	private String address;
	private String dbName;
	
	public OracleBackup(String userName,String password,String address,String DBName){
		//Runtime.getRuntime().exec("exp "+userName+"/"+password+"@"+DBName+" file="+DBName+DateUtils.getSysdate()+"");
		 Process process=null;
		try {
			process = Runtime.getRuntime().exec("");
			process.waitFor();
			process.destroy();
		} catch (Exception e) {
			e.printStackTrace();
		}
		

	}
	
	public void backup(){
		//将数据库dbName完全导出,用户名userName密码password导出到D:\aa.dmp中

		String cmd="exp userName/password@dbName file=D:\\aa.dmp full=y";
		
		//将数据库中	system用户与	sys用户的表导出
		cmd="exp userName/password@dbName file=D:\\aa.dmp owner=(system,sys)";

		//将数据库中的表table1、table2导出
		 cmd="exp userName/password@dbName file=D:\\aa.dmp tables(table1,table2)";
		 
		 //将数据库中的表table1中的字段filed1 以 "00" 打头的数据导出
		 cmd="exp system/manager@TEST	 file=d:\\daochu.dmp tables=(table1) query=\\\" where filed1 like '00%'\\\"";

		 //用 winzip 把	 dmp	 文件可以很好的压缩。 不过在上面命令后面 加上 compress=y 就可以了

		 /*将 D:\daochu.dmp中的数据导入TEST 数据库中。 
		 imp system/manager@TEST file=d:\daochu.dmp 
		 上面可能有点问题，因为有的表已经存在，然后它就报错，对该表就不进行导入。 
		 在后面加上  ignore=y 就可以了。
		 2 将 d:\daochu.dmp 中的表table1 导入
		  imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
		  
		  
		  导出注意事项：导出的是当前用户的的数据，当前用户如果有DBA的权限，则导出所有数据！

同名用户之间的数据导入： 
imp hkb/hkb@xe file=c:\orabackup\hkbfull.dmp
log=c:\orabackup\hkbimp.log full=y 
不同名之间的数据导入： 
imp system/test@xe fromuser=hkb touser=hkb_new
file=c:\orabackup\hkbfull.dmp 
log=c:\orabackup\hkbimp.log

*/
		 

	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getDbName() {
		return dbName;
	}

	public void setDbName(String dbName) {
		this.dbName = dbName;
	}
	
}
